home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / modula2 / m2d2 / funny / funnyrsc.mod < prev   
Text File  |  1995-11-25  |  5KB  |  128 lines

  1. IMPLEMENTATION MODULE FunnyRSC;
  2.  
  3. (* erzeugt vom RSC2MOD Version 1.00  *PSB *)
  4.  
  5. (*$S-,$T-,$Q+*)
  6.  
  7. FROM SYSTEM     IMPORT  ADDRESS,        CODE;
  8.  
  9. FROM GEMAES     IMPORT  ResourceObjectFix;
  10.  
  11. IMPORT GEMAESbase;
  12.  
  13.  
  14. CONST   (* idx's & nr's *)
  15.         nrTrees         =      1;    idxTree         = 0020AH;
  16.         nrObjects       =     11;    idxObject       = 00102H;
  17.         nrTEdInfos      =      3;    idxTEdInfo      = 000AEH;
  18.  
  19.  
  20. (*$P-*)
  21. PROCEDURE RSCdata0;
  22.  
  23.    BEGIN
  24.  
  25.      (* Header *)
  26.       CODE ( 00001H, 00102H, 000AEH, 00102H, 000AEH, 000AEH );
  27.       CODE ( 00024H, 000AEH, 000AEH, 0020AH, 0000BH, 00001H );
  28.       CODE ( 00003H, 00000H, 00000H, 00000H, 00000H, 0020EH );
  29.  
  30.      (* Strings *)
  31.       CODE ( 04469H, 06520H, 04675H, 06E6BH, 07469H, 06F6EH, 00078H, 00069H );
  32.       CODE ( 07374H, 0206EH, 06F63H, 06820H, 06E69H, 06368H, 07420H, 0696DH );
  33.       CODE ( 0706CH, 0656DH, 0656EH, 07469H, 06572H, 0742CH, 02075H, 06E64H );
  34.       CODE ( 0207AH, 07761H, 07220H, 0766FH, 06E3AH, 00042H, 0494CH, 04C52H );
  35.       CODE ( 04F54H, 04853H, 05452H, 02E20H, 03331H, 00000H, 00054H, 0484FH );
  36.       CODE ( 04D41H, 05320H, 04249H, 0524BH, 04500H, 00000H, 02020H, 02050H );
  37.       CODE ( 0454EH, 05441H, 04752H, 0414DH, 04D20H, 02D20H, 0536FH, 06674H );
  38.       CODE ( 07761H, 07265H, 00033H, 03330H, 03020H, 04252H, 04155H, 04E53H );
  39.       CODE ( 04348H, 05745H, 04947H, 00000H, 00045H );
  40.  
  41.      (* TEd-Infos *)
  42.       CODE ( 00000H, 0005FH, 00000H, 0006FH, 00000H, 00070H );
  43.       CODE (      5,      6,      2,   4480,      0,     -1,     16,      1 );
  44.       CODE ( 00000H, 00071H, 00000H, 0007EH, 00000H, 0007FH );
  45.       CODE (      5,      6,      2,   4480,      0,     -1,     13,      1 );
  46.       CODE ( 00000H, 00099H, 00000H, 000ABH, 00000H, 000ACH );
  47.       CODE (      5,      6,      2,   4480,      0,     -1,     18,      1 );
  48.  
  49.      (* Objekte *)
  50.       CODE (     -1,      1,      4, GEMAESbase.GBOX      );
  51.       CODE ( 00000H, 00010H, 00002H, 01100H, 00001H, 00001H, 0002FH, 00808H );
  52.       CODE (      2,     -1,     -1, GEMAESbase.GSTRING   );
  53.       CODE ( 00000H, 00000H, 00000H, 00024H, 00002H, 00001H, 0000CH, 00001H );
  54.       CODE (      3,     -1,     -1, GEMAESbase.GSTRING   );
  55.       CODE ( 00000H, 00000H, 00000H, 00031H, 0000FH, 00001H, 00001H, 00001H );
  56.       CODE (      4,     -1,     -1, GEMAESbase.GSTRING   );
  57.       CODE ( 00000H, 00000H, 00000H, 00033H, 00002H, 00002H, 0002BH, 00001H );
  58.       CODE (      0,      5,     10, GEMAESbase.GBOX      );
  59.       CODE ( 00000H, 00030H, 000FEH, 01100H, 0000AH, 00004H, 0001BH, 00003H );
  60.       CODE (      6,     -1,     -1, GEMAESbase.GBOX      );
  61.       CODE ( 00007H, 00030H, 000FEH, 01101H, 00002H, 00002H, 00500H, 00500H );
  62.       CODE (      7,     -1,     -1, GEMAESbase.GTEXT     );
  63.       CODE ( 00000H, 00000H, 00000H, 000AEH, 0000DH, 00202H, 0020BH, 00600H );
  64.       CODE (      8,     -1,     -1, GEMAESbase.GTEXT     );
  65.       CODE ( 00000H, 00000H, 00000H, 000CAH, 0000DH, 00B01H, 00009H, 00600H );
  66.       CODE (      9,     -1,     -1, GEMAESbase.GIBOX     );
  67.       CODE ( 00000H, 00000H, 00001H, 01100H, 00001H, 00601H, 00019H, 00100H );
  68.       CODE (     10,     -1,     -1, GEMAESbase.GSTRING   );
  69.       CODE ( 00000H, 00000H, 00000H, 00080H, 00000H, 00300H, 0001BH, 00001H );
  70.       CODE (      4,     -1,     -1, GEMAESbase.GTEXT     );
  71.       CODE ( 00020H, 00000H, 00000H, 000E6H, 0000DH, 00902H, 0060CH, 00600H );
  72.  
  73.      (* Objekt-Bäume *)
  74.       CODE ( 00000H, 00102H );
  75.    END RSCdata0;
  76.  
  77.  
  78. PROCEDURE RelocateRSC;
  79.  
  80.    VAR  i       : INTEGER;
  81.         x       : ADDRESS;
  82.  
  83.         Trees   : POINTER TO ARRAY [ 0..nrTrees-1 ] OF ADDRESS;
  84.         Objects : POINTER TO ARRAY [ 0..nrObjects-1 ] OF GEMAESbase.Object;
  85.         TEdInfos: POINTER TO ARRAY [ 0..nrTEdInfos-1 ] OF GEMAESbase.TEdInfo;
  86.  
  87.    BEGIN
  88.       WITH GEMAESbase.AESGlobal DO
  89.          apPTree := ADDRESS ( RSCdata0 ) + idxTree;
  90.          Trees := apPTree
  91.       END;
  92.  
  93.  
  94.       FOR i := 0 TO nrTrees-1 DO
  95.          (*$T-*)
  96.          INC ( Trees^[ i ], LONGCARD ( RSCdata0 ) )
  97.          (*$T=*)
  98.       END;
  99.  
  100.       Objects := ADDRESS ( RSCdata0 ) + idxObject;
  101.       FOR i := 0 TO nrObjects-1 DO
  102.          WITH Objects^[ i ] DO
  103.             IF ( obType # GEMAESbase.GBOX ) AND
  104.                ( obType # GEMAESbase.GBOXCHAR ) AND
  105.                ( obType # GEMAESbase.GIBOX )
  106.             THEN (*$T-*)
  107.                  INC ( obSpec, LONGCARD ( RSCdata0 ) )
  108.                  (*$T=*)
  109.             END;
  110.             ResourceObjectFix ( Objects, i )
  111.          END
  112.       END;
  113.  
  114.       TEdInfos := ADDRESS ( RSCdata0 ) + idxTEdInfo;
  115.       FOR i := 0 TO nrTEdInfos-1 DO
  116.          WITH TEdInfos^[ i ] DO
  117.             (*$T-*)
  118.             INC ( tePText,  LONGCARD ( RSCdata0 ) );
  119.             INC ( tePTmplt, LONGCARD ( RSCdata0 ) );
  120.             INC ( tePValid, LONGCARD ( RSCdata0 ) )
  121.             (*$T=*)
  122.          END
  123.       END;
  124.  
  125.    END RelocateRSC;
  126.  
  127. END FunnyRSC.
  128.